/**
 * jims
 */
package com.jims.master.modules.template.entity;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.jims.master.common.persistence.TreeEntity;
import org.hibernate.validator.constraints.Length;

import java.util.List;

/**
 * Entity
 * @author 系统管理员
 * @version 2017-06-02
 */
public class TreatProjectItem extends TreeEntity<TreatProjectItem> {
	
	private static final long serialVersionUID = 1L;
	private String treatProjectId;		// 治疗类型
	private String repeatIncaditor;		// 医嘱类型
	private String itemNo;		// 序号
	private String orderClass;		// 医嘱类别
	private String orderText;		// 医嘱内容
//	private TreatProjectItem parent;		// 医嘱父级id
	private String orderCode;		// 医嘱代码
	private String billingAttr;		// 计价属性
	private String amount;		// 数量
	private String singleDose;		// 单次剂量
	private String singleDoseUnit;		// 计量单位
	private String administration;		// 途径
	private String performFreq;		// 频次
	private String doctInstruction;		// 医生说明
	private String firmId;		// 厂商
	private String drugUnits;		// 包装单位
	private String performedBy;		// 执行科室
	private String newDept;		// 开单科室
	private String nursePerformTime;		// 护士执行时间
	private String price;		// 单价
	private String sumPrice;		// 总价
	private String isSkin;		// 是否皮试
	private String orgId;		// 机构id
	private String packageSpec;		// 包装规格
	private String applyId;//主表id
	private String priceId;
	private Integer abidance;//天数
	private Integer repetition;// 剂数
	private String minSpec;//最小规格
	private Double doseUnitsMetering; // 最小单位计量
	private String minUnits;//最小包装单位

	private String clinicItemId; //项目id
	private String firmName;
	private String administrationName;
	private String performFreqName;
	private String spec;
	private String isDrug;
	private String kc;// 是否库存
	private String quantity;


	public List<TreatProjectItem> treatItemList;

	
	public TreatProjectItem() {
		super();
	}

	public TreatProjectItem(String id){
		super(id);
	}

	public TreatProjectItem(TreatProjectItem parent1){
		this.parent =parent1;
	}

	public String getQuantity() {
		return quantity;
	}

	public void setQuantity(String quantity) {
		this.quantity = quantity;
	}

	public String getKc() {
		return kc;
	}

	public void setKc(String kc) {
		this.kc = kc;
	}

	public String getIsDrug() {
		return isDrug;
	}

	public void setIsDrug(String isDrug) {
		this.isDrug = isDrug;
	}

	public String getSpec() {
		return spec;
	}

	public void setSpec(String spec) {
		this.spec = spec;
	}

	public String getPriceId() {
		return priceId;
	}

	public void setPriceId(String priceId) {
		this.priceId = priceId;
	}

	public String getAdministrationName() {
		return administrationName;
	}

	public void setAdministrationName(String administrationName) {
		this.administrationName = administrationName;
	}

	public String getPerformFreqName() {
		return performFreqName;
	}

	public void setPerformFreqName(String performFreqName) {
		this.performFreqName = performFreqName;
	}

	public String getFirmName() {
		return firmName;
	}

	public void setFirmName(String firmName) {
		this.firmName = firmName;
	}

	public String getApplyId() {
		return applyId;
	}

	public void setApplyId(String applyId) {
		this.applyId = applyId;
	}

	public String getClinicItemId() {
		return clinicItemId;
	}

	public void setClinicItemId(String clinicItemId) {
		this.clinicItemId = clinicItemId;
	}

	@Length(min=0, max=64, message="治疗类型长度必须介于 0 和 64 之间")
	public String getTreatProjectId() {
		return treatProjectId;
	}

	public void setTreatProjectId(String treatProjectId) {
		this.treatProjectId = treatProjectId;
	}
	
	@Length(min=0, max=1, message="医嘱类型长度必须介于 0 和 1 之间")
	public String getRepeatIncaditor() {
		return repeatIncaditor;
	}

	public void setRepeatIncaditor(String repeatIncaditor) {
		this.repeatIncaditor = repeatIncaditor;
	}
	
	@Length(min=0, max=11, message="序号长度必须介于 0 和 11 之间")
	public String getItemNo() {
		return itemNo;
	}

	public void setItemNo(String itemNo) {
		this.itemNo = itemNo;
	}
	
	@Length(min=0, max=1, message="医嘱类别长度必须介于 0 和 1 之间")
	public String getOrderClass() {
		return orderClass;
	}

	public void setOrderClass(String orderClass) {
		this.orderClass = orderClass;
	}
	
	@Length(min=0, max=64, message="医嘱内容长度必须介于 0 和 64 之间")
	public String getOrderText() {
		return orderText;
	}

	public void setOrderText(String orderText) {
		this.orderText = orderText;
	}
	
	@JsonBackReference
	public TreatProjectItem getParent() {
		return parent;
	}

	public void setParent(TreatProjectItem parent) {
		this.parent = parent;
	}
	
	@Length(min=0, max=64, message="医嘱代码长度必须介于 0 和 64 之间")
	public String getOrderCode() {
		return orderCode;
	}

	public void setOrderCode(String orderCode) {
		this.orderCode = orderCode;
	}
	
	@Length(min=0, max=1, message="计价属性长度必须介于 0 和 1 之间")
	public String getBillingAttr() {
		return billingAttr;
	}

	public void setBillingAttr(String billingAttr) {
		this.billingAttr = billingAttr;
	}
	
	@Length(min=0, max=11, message="数量长度必须介于 0 和 11 之间")
	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}
	
	public String getSingleDose() {
		return singleDose;
	}

	public void setSingleDose(String singleDose) {
		this.singleDose = singleDose;
	}
	
	@Length(min=0, max=5, message="计量单位长度必须介于 0 和 5 之间")
	public String getSingleDoseUnit() {
		return singleDoseUnit;
	}

	public void setSingleDoseUnit(String singleDoseUnit) {
		this.singleDoseUnit = singleDoseUnit;
	}
	
	@Length(min=0, max=64, message="途径长度必须介于 0 和 64 之间")
	public String getAdministration() {
		return administration;
	}

	public void setAdministration(String administration) {
		this.administration = administration;
	}
	
	@Length(min=0, max=64, message="频次长度必须介于 0 和 64 之间")
	public String getPerformFreq() {
		return performFreq;
	}

	public void setPerformFreq(String performFreq) {
		this.performFreq = performFreq;
	}
	
	@Length(min=0, max=100, message="医生说明长度必须介于 0 和 100 之间")
	public String getDoctInstruction() {
		return doctInstruction;
	}

	public void setDoctInstruction(String doctInstruction) {
		this.doctInstruction = doctInstruction;
	}
	
	@Length(min=0, max=64, message="厂商长度必须介于 0 和 64 之间")
	public String getFirmId() {
		return firmId;
	}

	public void setFirmId(String firmId) {
		this.firmId = firmId;
	}
	
	@Length(min=0, max=5, message="包装单位长度必须介于 0 和 5 之间")
	public String getDrugUnits() {
		return drugUnits;
	}

	public void setDrugUnits(String drugUnits) {
		this.drugUnits = drugUnits;
	}
	
	@Length(min=0, max=64, message="执行科室长度必须介于 0 和 64 之间")
	public String getPerformedBy() {
		return performedBy;
	}

	public void setPerformedBy(String performedBy) {
		this.performedBy = performedBy;
	}
	
	@Length(min=0, max=64, message="开单科室长度必须介于 0 和 64 之间")
	public String getNewDept() {
		return newDept;
	}

	public void setNewDept(String newDept) {
		this.newDept = newDept;
	}
	
	@Length(min=0, max=64, message="护士执行时间长度必须介于 0 和 64 之间")
	public String getNursePerformTime() {
		return nursePerformTime;
	}

	public void setNursePerformTime(String nursePerformTime) {
		this.nursePerformTime = nursePerformTime;
	}
	
	public String getPrice() {
		return price;
	}

	public void setPrice(String price) {
		this.price = price;
	}
	
	public String getSumPrice() {
		return sumPrice;
	}

	public void setSumPrice(String sumPrice) {
		this.sumPrice = sumPrice;
	}
	
	public String getIsSkin() {
		return isSkin;
	}

	public void setIsSkin(String isSkin) {
		this.isSkin = isSkin;
	}
	
	@Length(min=0, max=64, message="机构id长度必须介于 0 和 64 之间")
	public String getOrgId() {
		return orgId;
	}

	public void setOrgId(String orgId) {
		this.orgId = orgId;
	}
	
	@Length(min=0, max=64, message="包装规格长度必须介于 0 和 64 之间")
	public String getPackageSpec() {
		return packageSpec;
	}

	public void setPackageSpec(String packageSpec) {
		this.packageSpec = packageSpec;
	}

	public List<TreatProjectItem> getTreatItemList() {
		return treatItemList;
	}

	public void setTreatItemList(List<TreatProjectItem> treatItemList) {
		this.treatItemList = treatItemList;
	}

	public Integer getAbidance() {
		return abidance;
	}

	public void setAbidance(Integer abidance) {
		this.abidance = abidance;
	}

	public Integer getRepetition() {
		return repetition;
	}

	public void setRepetition(Integer repetition) {
		this.repetition = repetition;
	}

	public String getMinSpec() {
		return minSpec;
	}

	public void setMinSpec(String minSpec) {
		this.minSpec = minSpec;
	}

	public Double getDoseUnitsMetering() {
		return doseUnitsMetering;
	}

	public void setDoseUnitsMetering(Double doseUnitsMetering) {
		this.doseUnitsMetering = doseUnitsMetering;
	}

	public String getMinUnits() {
		return minUnits;
	}

	public void setMinUnits(String minUnits) {
		this.minUnits = minUnits;
	}
}